<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
  <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />

  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Camera Models &mdash; COLMAP 3.9-dev documentation</title>
      <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
      <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
  <!--[if lt IE 9]>
    <script src="_static/js/html5shiv.min.js"></script>
  <![endif]-->
  
        <script src="_static/jquery.js"></script>
        <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
        <script src="_static/doctools.js"></script>
        <script src="_static/sphinx_highlight.js"></script>
    <script src="_static/js/theme.js"></script>
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
    <link rel="next" title="Output Format" href="format.html" />
    <link rel="prev" title="Database Format" href="database.html" /> 
</head>

<body class="wy-body-for-nav"> 
  <div class="wy-grid-for-nav">
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >

          
          
          <a href="index.html" class="icon icon-home">
            COLMAP
          </a>
              <div class="version">
                3.9-dev
              </div>
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>
        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
              <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="install.html">Installation</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial</a></li>
<li class="toctree-l1"><a class="reference internal" href="database.html">Database Format</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Camera Models</a></li>
<li class="toctree-l1"><a class="reference internal" href="format.html">Output Format</a></li>
<li class="toctree-l1"><a class="reference internal" href="datasets.html">Datasets</a></li>
<li class="toctree-l1"><a class="reference internal" href="gui.html">Graphical User Interface</a></li>
<li class="toctree-l1"><a class="reference internal" href="cli.html">Command-line Interface</a></li>
<li class="toctree-l1"><a class="reference internal" href="faq.html">Frequently Asked Questions</a></li>
<li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a></li>
<li class="toctree-l1"><a class="reference internal" href="contribution.html">Contribution</a></li>
<li class="toctree-l1"><a class="reference internal" href="license.html">License</a></li>
<li class="toctree-l1"><a class="reference internal" href="bibliography.html">Bibliography</a></li>
</ul>

        </div>
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="index.html">COLMAP</a>
      </nav>

      <div class="wy-nav-content">
        <div class="rst-content">
          <div role="navigation" aria-label="Page navigation">
  <ul class="wy-breadcrumbs">
      <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
      <li class="breadcrumb-item active">Camera Models</li>
      <li class="wy-breadcrumbs-aside">
            <a href="_sources/cameras.rst.txt" rel="nofollow"> View page source</a>
      </li>
  </ul>
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
             
  <section id="camera-models">
<h1>Camera Models<a class="headerlink" href="#camera-models" title="Permalink to this heading"></a></h1>
<p>COLMAP implements different camera models of varying complexity. If no intrinsic
parameters are known a priori, it is generally best to use the simplest camera
model that is complex enough to model the distortion effects:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">SIMPLE_PINHOLE</span></code>, <code class="docutils literal notranslate"><span class="pre">PINHOLE</span></code>: Use these camera models,
if your images are undistorted a priori. These use one and two focal length
parameters, respectively. Note that even in the case of undistorted images,
COLMAP could try to improve the intrinsics with a more complex camera model.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">SIMPLE_RADIAL</span></code>, <code class="docutils literal notranslate"><span class="pre">RADIAL</span></code>: This should be the camera model of choice,
if the intrinsics are unknown and every image has a different camera
calibration, e.g., in the case of Internet photos. Both models are simplified
versions of the <code class="docutils literal notranslate"><span class="pre">OPENCV</span></code> model only modeling radial distortion
effects with one and two parameters, respectively.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">OPENCV</span></code>, <code class="docutils literal notranslate"><span class="pre">FULL_OPENCV</span></code>: Use these camera models, if
you know the calibration parameters a priori. You can also try to let COLMAP
estimate the parameters, if you share the intrinsics for multiple images. Note
that the automatic estimation of parameters will most likely fail, if every
image has a separate set of intrinsic parameters.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">SIMPLE_RADIAL_FISHEYE</span></code>, <code class="docutils literal notranslate"><span class="pre">RADIAL_FISHEYE</span></code>, <code class="docutils literal notranslate"><span class="pre">OPENCV_FISHEYE</span></code>, <code class="docutils literal notranslate"><span class="pre">FOV</span></code>,
<code class="docutils literal notranslate"><span class="pre">THIN_PRISM_FISHEYE</span></code>: Use these camera models for fisheye lenses
and note that all other models are not really capable of modeling the
distortion effects of fisheye lenses. The <code class="docutils literal notranslate"><span class="pre">FOV</span></code> model is used by
Google Project Tango (make sure to not initialize <cite>omega</cite> to zero).</p></li>
</ul>
<p>You can inspect the estimated intrinsic parameters by double-clicking specific
images in the model viewer or by exporting the model and opening the
<cite>cameras.txt</cite> file.</p>
<p>To achieve optimal reconstruction results, you might have to try different
camera models for your problem. Generally, when the reconstruction fails and the
estimated focal length values / distortion coefficients are grossly wrong, it is
a sign of using a too complex camera model. Contrary, if COLMAP uses many
iterative local and global bundle adjustments, it is a sign of using a too
simple camera model that is not able to fully model the distortion effects.</p>
<p>You can also share intrinsics between multiple
images to obtain more reliable results
(see <a class="reference internal" href="faq.html#faq-share-intrinsics"><span class="std std-ref">Share intrinsic camera parameters</span></a>) or you can
fix the intrinsic parameters during the reconstruction
(see <a class="reference internal" href="faq.html#faq-fix-intrinsics"><span class="std std-ref">Fix intrinsic camera parameters</span></a>).</p>
<p>Please, refer to the camera models header file for information on the parameters
of the different camera models:
<a class="reference external" href="https://github.com/colmap/colmap/blob/master/src/colmap/camera/models.h">https://github.com/colmap/colmap/blob/master/src/colmap/camera/models.h</a></p>
</section>


           </div>
          </div>
          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
        <a href="database.html" class="btn btn-neutral float-left" title="Database Format" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
        <a href="format.html" class="btn btn-neutral float-right" title="Output Format" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
    </div>

  <hr/>

  <div role="contentinfo">
    <p>&#169; Copyright 2023, Johannes L. Schoenberger.</p>
  </div>

  Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
    provided by <a href="https://readthedocs.org">Read the Docs</a>.
   

</footer>
        </div>
      </div>
    </section>
  </div>
  <script>
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script> 

</body>
</html>